home *** CD-ROM | disk | FTP | other *** search
/ Night Owl 7 / Night Owl Shareware (NOPV7)(Night Owl Publisher Inc.)(1992).bin / 038a / bash1_12.arj / BASH1-12.TAR / bash-1.12 / examples / functions / external.~1~ < prev    next >
Text File  |  1991-11-11  |  720b  |  20 lines

  1. # Contributed by Noah Friedman.
  2.  
  3. # To avoid using a function in bash, you can use the `builtin' or
  4. # `command' builtins, but neither guarantees that you use an external
  5. # program instead of a bash builtin if there's a builtin by that name.  So
  6. # this function can be used like `command' except that it guarantees the
  7. # program is external by first disabling any builtin by that name.  After
  8. # the command is done executing, the state of the builtin is restored. 
  9. function external ()
  10. {
  11.  local state=$(builtin type -type "$1" 2> /dev/null)
  12.  local exit_status
  13.   
  14.     [ "${state}" = "builtin" ] && enable -n "$1"
  15.     command "$@"
  16.     exit_status=$?
  17.     [ "${state}" = "builtin" ] && enable "$1"
  18.     return ${exit_status}
  19. }
  20.